package org.example.functionInterface;

import java.util.function.Consumer;

//接收一个输入参数x,把x的值扩大2倍后,再+3做输出//类似于数学中的函数: f(x) = 2*x + 3
public class Demo04Consumer {
    //java.util.function.Consumer<T>接口则正好相反，它不是生产一个数据，而是消费一个数据，其数据类型由泛型参数决定。
    //
    //2.1.抽象方法：accept
    //Consumer接口中包含抽象方法void accept(T t): 消费一个指定泛型的数据。
    public static void main(String[] args) {
        int x = 3;
        consumeIntNum(x, (Integer num) -> {
            System.out.println(2 * num + 3);
        });
    }

    /*        定义方法,使用函数式接口Consumer作为方法参数    */
    private static void consumeIntNum(int num, Consumer<Integer> function) {
        function.accept(num);
    }
}